#include <signal.h>
#include "httpserver.h"

void ___http_callback(http_inner_request_after_facade_t *hirqaft) {
}
void signal_handler(int sig) {
    switch (sig) {
#ifdef __linux__
        case SIGPIPE: {
            error(&global_logt, "signal fun number is:%d", sig);
        }
#endif
        case SIGSEGV: {
            error(&global_logt, "signal fun number is:%d", sig);
        }
    }
}

void signal_init(void){
#ifdef __linux__
    signal(SIGPIPE, signal_handler);   /* 13 一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程. */
    signal(SIGBUS, signal_handler);  /* 7 总线错误(内存访问错误) */
#endif
    signal(SIGINT, signal_handler);  /* 2  来自键盘的中断信号 */
    signal(SIGABRT, signal_handler); /* 6  程序的异常终止，如调用 abort */
    signal(SIGSEGV, signal_handler); /* 11 段非法错误(非法访问内存),如空指针*/
    signal(SIGTERM, signal_handler); /* 15 发送到程序的终止请求 */
}
int init(int argc, char *const *argv) {
#ifdef PROP
    signal_init();
#endif
#ifdef DEV
    signal(SIGPIPE, signal_handler);   /* 13 一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程. */
#endif
    initconf(&global_conft, "");
    inittask(&global_tpt);
    initlog(&global_tpt, &global_logt);
    doMain(&global_tpt, &global_logt);
}
int main(int argc, char *const *argv)
{
    init(argc, argv);
    exit(333);
}

